﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ACC.Data.Entities.Mes
{
    /// <summary>
    /// MES-SCADA-09 生产报工
    /// MES-SCADA-10 生产过程数据反馈
    /// MES-SCADA-11 生产物料信息
    /// </summary>
    public class SCADAProductionReport
    {
        public string order_code;
        public string factory;
        public string material_code;
        public string material_name;
        public string center_code;
        public string center_name;

        public List<SCADAWOrkOrder> detail1;
    }

    /// <summary>
    /// 工单
    /// </summary>
    public class SCADAWOrkOrder
    {
        public string work_code;

        public List<SCADAStationReport> detail2;
    }

    /// <summary>
    /// 工位派工单
    /// </summary>
    //public class SCADAStaionTask
    //{
    //    public string op_code;
    //    public string op_name;
    //    public string cell_code;
    //    public string cell_name;
    //    public string task_code;  // 工位派工单

    //    public List<SCADAStationReport> Detail;
    //}

    /// <summary>
    /// 工位报工详细信息
    /// </summary>
    public class SCADAStationReport
    {
        //  MES-SCADA-09
        //  MES-SCADA-10
        //  MES-SCADA-11
        public string cell_code;
        public string op_code;
        public string prod_sn;       // 产品序列号(内码)
        public uint prod_flag;       // 1-成品进站，２－成品出站

        //  MES-SCADA-09
        public string labor_group;
        public string labor;         // why not laber_code??
        public uint report_num = 1;  // 默认数量为１
        public string report_stime;
        public string report_etime;
        public uint qa_state;        // 质量状态, 1-OK, 2-NG排异, 3-在线返修  
        public string qa_des;        // 故障质量信息（人工工位）  
        public string machine_time;  // 设备加工时间，设备加工的实际时间周期，单位s

        //  MES-SCADA-10　过程数据 SCADAProcessParameterData
        //  MES-SCADA-11　物料     SCADAMaterialData
        public List<Object> detail3;
    }

    /// <summary>
    /// MES-SCADA-10
    /// 工位生产过程数据反馈信息
    /// </summary>
    public class SCADAProcessParameterData
    {
        public string para_code;
        public string para_name;
        public string para_type;  　  // 1-定量检测，２－定性检测
        public double para_actual_1;  // 定量检测参数为实际加工值
        public string para_actual_2;  // 定性检测为 Y-合格，N-不合格
        public string para_actual_low;  // 定量检测值下限
        public string para_actual_high; // 定量检测值上限
    }

    /// <summary>
    /// MES-SCADA-11
    /// 工位物料数据反馈信息
    /// </summary>
    public class SCADAMaterialData
    {
        public string item_code;      // 物料编号
        public string item_name;      // 物料描述
        public decimal qty;              // 单个成品的BOM下层数量
        public string material_unit;  // 单位
        public uint ctrl_code;        // 1-批次件，2-序列件，3-标准件
        public string part_sn;        // 关键件条码
        public string part_batchsn;   // 下层物料来料批次号
        public string position;       // 电芯在模组中的位置
    }

}
